<?php
/**
 * House
 */

namespace app\crontab\controller\once;

use think\console\Command;
use think\console\Input;
use think\console\Output;
use app\crontab\model\HouseSource;

class House extends Command {

    // 装修 新->旧
    const RENOVATION_TYPE = [
        0 => 5,
        1 => 1,
        2 => 2,
        3 => 3,
        4 => 4,
    ];
    // 一级类型
    const HOUSE_TYPE = [
        1 => 1,
        2 => 5,
        3 => 4,
        4 => 3
    ];

    // 二级类型
    const HOUSE_CATE = [
        0 => 6,
        1 => 12,
        2 => 10,
    ];
    // 居住情况 对等
    // 产权类型 新旧对等

    protected function configure() {
        $this->setName('House');
    }

    protected function execute(Input $input, Output $output) {
        $this->initial();
    }

    /**
     * 房源消耗
     */
    protected function initial() {
        $configs = [
            'username' => 'root',
            'pwd'      => 'Fzpfpy@818919',
            'host'     => '127.0.0.1',
            'port'     => '3306',
            'dbname'   => 'fzp_crm',
            'prefix'   => 'fzp_',
        ];
        $houseSourceModel = new HouseSource;
        $data = $houseSourceModel->getNewHouse();
        foreach ($data as $val) {
            $handleData = $this->handleData($val->toArray());
            // 获取数据
            $oldData = connectDb($configs, 'house')->field('id,is_update')->where('source_house_id', $val['source_id'])->find();
            print_r($oldData);
            exit;
//            // 不存在
//            if(empty($oldData)) {
//                $id = connectDb($configs, 'house')->insertGetId($handleData);
//                total_house_customer($id);
//                continue;
//            }
//            // 存在
//            // 旧数据没有修改
//            if($oldData['is_update'] == 0) {
//                connectDb($configs, 'house')->where('id', $oldData['id'])->update($handleData);
//                continue;
//            }

        }
    }

    protected function handleData($data) {
        // 省、市、区、县 （获取）
        // 市
        $city = str_replace('市', '', $data['city']);
        $cData = db('city')->where('name', 'like', "{$city}")->find();
        // 区
        $area = str_replace('区', '', $data['city']);
        $aData = db('city')->where('name', 'like', "{$area}")->select();
        $aData = isset($aData[1]) ? [] : $aData[0];
        // 小区id community_id
        if ($data['anjuke_url'] != '') {
            $community_info = db("community")->where("url='" . $data['anjuke_url'] . "'")->find();
        }
        return [

            // 来源更新时间 soure_updatetime 不处理
            // 类型 auction_type 不处理
            // 地铁 traffic_tag 不处理
            // 医院 service_tag 不处理
            // 商圈id trading_area 不处理

            // 来源房源id
            'source_house_id'    => $data['source_id'],
            // 来源类型
            'source_id'          => $data['source_type'],
            // 来源地址
            'source_url'         => $data['source_url'],
            // 安居客地址 anjuke_url
            'anjuke_url'         => $data['anjuke_url'],
            // 标题 title
            'title'              => $data['title'],
            // 封面图 cover
            'cover'              => $data['cover'],
            // 省、市、区、县 （获取）
            'province'           => empty($cData['pid']) ?: 0,
            'city'               => empty($cData['id']) ?: 0,
            'region'             => empty($aData['pid']) ?: 0,
            'district'           => empty($aData['id']) ?: 0,
            // 小区 village
            'village'            => $data['hv_name'],
            // 地址 address
            'address'            => $data['address'],
            // 楼层 floor
            'floor'              => $data['floor'],
            // 最高楼层 maxfloor
            'max_floor'          => $data['max_floor'],
            // 房间数 bedroom
            'bedroom'            => $data['bedroom'],
            // 客厅数 livingroom
            'livingroom'         => $data['livingroom'],
            // 建筑年份 build_time
            'build_time'         => $data['build_time'],
            // 建筑面积 build_area
            'build_area'         => $data['build_area'],
            // 装修 renovation_id
            'renovation_id'      => self::RENOVATION_TYPE[$data['renovation_type']],
            // 房屋类型id一级 type_id1
            'type_id1'           => self::HOUSE_TYPE[$data['house_type_id']],
            // 房屋类型二级 type_id2
            'type_id2'           => self::HOUSE_CATE[$data['house_cate']],
            // 居住情况id living_id
            'living_id'          => $data['living_type'],
            // 租赁备注信息 lease_remark
            // 产权类型 property_id
            'property_id'        => $data['property_type'],
            // 权证号 warrant
            'warrant'            => $data['warrant'],
            // 商圈 biz_tag
            'biz_tag'            => $data['hv_business_name'],
            // 学校 education_tag
            'education_tag'      => $data['hv_related_school'],
            // 绿化率 environment_tag
            'environment_tag'    => $data['hv_greening_rate'],
            // 拍卖状态 auction_id
            'auction_id'         => $data['auction_status'],
            // 法院 court_name
            'court_name'         => $data['court_name'],
            // 拍卖开始时间 auction_start
            'auction_start'      => $data['start_time'],
            // 拍卖结束时间 auction_end
            'auction_end'        => $data['end_time'],
            // 助拍机构 institution
            'institution'        => $data['institution'],
            // 联系人，同时也是助拍机构 contact_name
            'contact_name'       => $data['contact_name'],
            // 联系电话 contact_tel
            'contact_tel'        => $data['contact_tel'],
            // 初始价格 initial_price
            'initial_price'      => round($data['initial_price'] / 100, 2),
            // 保证金 bond
            'bond'               => round($data['bond'] / 100, 2),
            // 评估价格 consult_price
            'consult_price'      => round($data['consult_price'] / 100, 2),
            // 市场价 market_price
            'market_price'       => round($data['market_price'] / 100, 2),
            // 变卖预交款 pay_selloff
            'pay_selloff'        => round($data['pay_selloff'] / 100, 2),
            // 折扣比 discount
            'discount'           => $data['discount'],
            // 安居客平均单价 anjuke_price
            'anjuke_price'       => round($data['anjuke_price'] / 100, 2),
            // 拍卖次数 auction_count_id
            'auction_count_id'   => !empty($data['type']) ?: 1,
            // 预估成交价 predict_price
            'predict_price'      => round($data['predict_price'] / 100, 2),
            // 加价幅度 price_lower_offset
            'price_lower_offset' => round($data['price_lower_offset'] / 100, 2),
            // 成交价 final_price
            'final_price'        => round($data['final_price'] / 100, 2),
            // 尾款缴付日期 tail_money_date
            'tail_money_date'    => $data['tail_money_date'],
            // 报名人数 enroll_num
            'enroll_num'         => $data['enroll_num'],
            // 围观人数 access_num
            'access_num'         => $data['access_num'],
            // 结束时间 deal_time
            'deal_time'          => $data['deal_time'],
            // 加价次数 bid_count
            'bid_count'          => $data['bid_count'],
            // 提醒人数 remind_num
            'remind_num'         => $data['remind_num'],
            // 是否有电梯 lifts
            'lifts'              => $data['lifts'],
            // 小区id community_id
            'community_id'       => !empty($community_info['id']) ?: 0,
            // 经度 lng
            'lng'                => !empty($community_info['lng']) ?: 0,
            // 纬度 lat
            'lat'                => !empty($community_info['lat']) ?: 0,
        ];
    }
}